Amazon Auroraでメジャーバージョンアップグレードで中間メジャーバージョンをスキップ出来るようになりました
いわさです。
Amazon Auroraでメジャーバージョンアップグレード時に中間メジャーバージョンをスキップ出来るようになりました。
実は出来ないのを知りませんでした。調べてみると、これまではRDS for PostgreSQLでは出来ていましたが、Aurora PostgreSQLではスキップは出来なかったんですね。
Aurora PostgreSQL
これまでは1つづつ
これまではメジャーバージョンアップグレードはAurora PostgreSQLでは1つ上のバージョンまでしか対応していませんでした。
例えば、9.6を13へアップグレードしたい場合はv9.6→v10→v11→v12→v13と段階を踏んでアップグレードする必要がありました。
これからは一気に可能
これからは中間メジャーバージョンをスキップし、例えばv9.6→v13と一気にメジャーバージョンアップグレードを行うことが出来るようになります。
ただし、バージョンアップ前のマイナーバージョンによっては中間スキップが出来ない場合があります。
例えば、前述のv10.13の場合は引き続きまずはv11にまずアップグレードする必要があります。
バージョンの詳細は以下を参照してください。
Upgrading the PostgreSQL DB engine for Aurora PostgreSQL - Amazon Aurora
9.6の場合は9.6.22以上、10の場合は10.18以上、11の場合は11.13以上のマイナーバージョンの場合だとメジャーバージョンのスキップが出来ます。
9.6.22と10.18、11.13が並んでるのは少しずれている気がします。パッチ内容からすると9.6.23のような気もしますがまた別の理由なのかもしれません。
一気にアップグレード出来るようになりますが、十分評価してからアップグレードするようにしてください。
また、拡張機能の一部は特定メジャーバージョンからはサポートされていないものなどもあり、事前に削除しなければならない場合や最新のマイナーバージョンに先にアップグレードしなければならないケースがあります。
Auroraのドキュメントでは以下が挙げられています。
- バージョンアップが必要
- pgRouteing
- postgis_raster
- postgis_tiger_geocoder
- postgis_topology
- address_standardizer
- address_standardizer_data_us
- 11.x以降の場合削除が必要(サポートされていない)
- chkpass
- tsearch2
また、インデックスの再作成が必要なことも多いです。
RDS for PostgreSQLの以下をあわせて確認しておきましょう。
Amazon RDS の PostgreSQL DB エンジンのアップグレード - Amazon Relational Database Service
RDSはこれまでも出来ていた
ちなみに、前項で少し触れましたがRDS for PostgreSQLでは以前からメジャーバージョンスキップは可能でした。
RDSでもAuroraでもPostgreSQLのアップグレードの仕組みとしてはpg_upgrade
を使っています。
pg_upgrade自体は以前からメジャーバージョンスキップは可能でした。今回はAuroraが追従して対応したという形ですね。
さいごに
本日はAurora PostgreSQLで利用出来るようになったアップグレード時のメジャーバージョンスキップについて紹介しました。
マイナーバージョンアップグレードと比べてかなりメジャーバージョンアップグレードに踏み切れずに、スケジューリングや準備をした上で複数メジャーバージョンアップグレードを一気に行うケースは意外に多いのではないでしょうか。
従来RDS for PostgreSQLで可能だった方法がAurora PostgreSQLでも可能になったので運用上助かりそうです。
ただし、メジャーバージョンアップグレードは手動で様々な評価やアップグレード後の作業も必要になるため、しっかりとして準備が必要です。
テストももちろんですが、必要な作業も多く、アップグレード前後に必要手順については必ず確認してください。
Upgrading the PostgreSQL DB engine for Aurora PostgreSQL - Amazon Aurora